local guozhuang = fk.CreateSkill {
  name = "ls__guozhuang",
  tags = { Skill.Compulsory }
}

Fk:loadTranslationTable{
  ["ls__guozhuang"] = "果壮",
  ["@@ls__guozhuang"] = "果壮",
  [":ls__guozhuang"] = "锁定技，当其他角色造成伤害后，你令你下一次造成的伤害+1（不可叠加）；当你受到伤害后，你将牌堆顶牌置为护甲。",
  ["#ls__guozhuang-invoke"] = "岳责：你可以将%arg对%src的效果改为【过河拆桥】",

  ["$ls__guozhuang1"] = "你这样的，我能打十个！",
  ["$ls__guozhuang2"] = "我许褚，可曾怕过谁？",
}

guozhuang:addEffect(fk.Damage, {
  anim_type = "offensive",
  can_refresh = function(self, event, target, player, data)
    if player:hasSkill(guozhuang.name) and target ~= player then
      return player:getMark("@@ls__guozhuang") == 0
    end
  end,
  on_refresh = function(self, event, target, player, data)
    player.room:addPlayerMark(player, "@@ls__guozhuang")
  end,
})

guozhuang:addEffect(fk.DamageCaused, {
  anim_type = "offensive",
  can_trigger = function(self, event, target, player, data)
    return player:hasSkill(guozhuang.name) and target == player and player:getMark("@@ls__guozhuang") > 0
  end,
  on_use = function(self, event, target, player, data)
    player.room:setPlayerMark(player, "@@ls__guozhuang", 0)
    data:changeDamage(1)
  end,
})

guozhuang:addEffect(fk.Damaged, {
  anim_type = "masochism",
  on_use = function(self, event, target, player, data)
    player:addToPile("shield", player.room:getNCards(1), false, guozhuang.name)
  end,
})

return guozhuang